идиома, идиоматизм {лингв } - Übersetzung nach portugiesisch
Diclib.com
Wörterbuch ChatGPT
Geben Sie ein Wort oder eine Phrase in einer beliebigen Sprache ein 👆
Sprache:

Übersetzung und Analyse von Wörtern durch künstliche Intelligenz ChatGPT

Auf dieser Seite erhalten Sie eine detaillierte Analyse eines Wortes oder einer Phrase mithilfe der besten heute verfügbaren Technologie der künstlichen Intelligenz:

  • wie das Wort verwendet wird
  • Häufigkeit der Nutzung
  • es wird häufiger in mündlicher oder schriftlicher Rede verwendet
  • Wortübersetzungsoptionen
  • Anwendungsbeispiele (mehrere Phrasen mit Übersetzung)
  • Etymologie

идиома, идиоматизм {лингв } - Übersetzung nach portugiesisch

Swap-идиома; Идиома copy-and-swap

идиома, идиоматизм {лингв.}      
idiotismo (m), idioma (m), idiomatismo (m)

Definition

Развесистая клюква
(ирон.) небылица, выдумка, что-либо лишенное правдоподобия. Выражение по происхождению пародийно: в нем высмеивается анекдотическое изображение русской жизни. Оно берет начало от рассказа о России, в котором малоосведомленный автор пишет, что он сидел под тенью величественной клюквы: sous l?ombre d?un klukva majetueux. По предположению исследователей, возникло в конце XIX - начале XX в.

Wikipedia

Copy-and-swap

Идиома copy-and-swap — это идиома языка программирования C++, позволяющая разрабатывать устойчивые к исключениям операторы присваивания.

Идиома базируется на идиоме «Получение ресурса есть инициализация».

Идиома предполагает реализацию следующих функций-членов класса:

  • конструктора копирования;
  • оператора присваивания;
  • метода swap, не генерирующего исключения и принимающего ссылку на объект класса.

Пример:

Устойчивость к исключениям заключается в том, что в операторе присваивания Copyable& operator=(const Copyable &) нет точки, где генерация исключения могла бы привести к утечке памяти.

Оператор присваивания сначала пытается захватить ресурс «временная копия присваиваемого объекта» (tmp) и в случае успеха меняет его содержимое с содержимым текущего объекта (this). Поскольку метод swap объявлен как не генерирующий исключения (noexcept), единственной точкой, где может возникнуть исключение, является копирование объекта _v. Если копирование не удается, то управление не доходит до метода swap, в противном случае деструктор объекта tmp освобождает ресурсы, прежде принадлежавшие текущему объекту (this) (см. идиому RAII).

Приведённая выше реализация также устойчива к присваиваниям объекта самому себе (a=a), однако содержит издержки, связанные с тем, что временная копия в этом случае тоже будет создаваться. Исключить издержки можно дополнительной проверкой:

Многие контейнеры и алгоритмы стандартной библиотеки C++ и библиотеки STL предполагают наличие устойчивого к исключениям оператора присваивания, но без использования идиомы copy-and-swap иногда довольно сложно реализовать такой оператор присваивания для классов, содержащих, например, указатели на экземпляры других классов.